/**
 ******************************************************************************
 * @file    zb32l03x_it.h
 * @author  Application Team
 * @Version V1.0.0
 * @Date    2022/01/19
 * @brief   This file contains the headers of the interrupt handlers.
 ******************************************************************************
 */


#ifndef __ZB32L03X_IT_H
#define __ZB32L03X_IT_H

#ifdef __cplusplus
extern "C" {
#endif

//=============================================================================
//                  Constant Definition
//=============================================================================
#if defined(CONFIG_USE_ZB32L003)
    #define VC0_1_IRQn              VC_IRQn
    #define I2C0_1_IRQn             I2C_IRQn
    #define SPI0_1_IRQn             SPI_IRQn
    #define AES_OWIRE_IRQn          OWIRE_IRQn

    #define I2C0_1_IRQHandler       I2C_IRQHandler
    #define SPI0_1_IRQHandler       SPI_IRQHandler
    #define VC0_1_IRQHandler        VC_IRQHandler
    #define AES_OWIRE_IRQHandler    OWIRE_IRQHandler

#elif defined(CONFIG_USE_ZB32L030)
    #define VC_IRQn                 VC0_1_IRQn
    #define I2C_IRQn                I2C0_1_IRQn
    #define SPI_IRQn                SPI0_1_IRQn
    #define TRNG_CLKTRIM_IRQn       CLKTRIM_IRQn
    #define AES_OWIRE_IRQn          OWIRE_IRQn

    #define I2C_IRQHandler          I2C0_1_IRQHandler
    #define SPI_IRQHandler          SPI0_1_IRQHandler
    #define VC_IRQHandler           VC0_1_IRQHandler
    #define TRNG_CLKTRIM_IRQHandler CLKTRIM_IRQHandler
    #define AES_OWIRE_IRQHandler    OWIRE_IRQHandler

#elif defined(CONFIG_USE_ZB32L032)
    #define CLKTRIM_IRQn            TRNG_CLKTRIM_IRQn
    #define OWIRE_IRQn              AES_OWIRE_IRQn

    #define CLKTRIM_IRQHandler      TRNG_CLKTRIM_IRQHandler
    #define OWIRE_IRQHandler        AES_OWIRE_IRQHandler
#endif
//=============================================================================
//                  Macro Definition
//=============================================================================

//=============================================================================
//                  Structure Definition
//=============================================================================

//=============================================================================
//                  Global Data Definition
//=============================================================================

//=============================================================================
//                  Private Function Definition
//=============================================================================

//=============================================================================
//                  Public Function Definition
//=============================================================================
void GPIOA_IRQHandler(void);
void GPIOB_IRQHandler(void);
void GPIOC_IRQHandler(void);
void GPIOD_IRQHandler(void);
void FLASH_IRQHandler(void);
void UART0_IRQHandler(void);
void UART1_IRQHandler(void);
void UART2_3_IRQHandler(void);
void LPUART_IRQHandler(void);
void SPI0_1_IRQHandler(void);
void I2C0_1_IRQHandler(void);
void TIM10_IRQHandler(void);
void TIM11_IRQHandler(void);
void LPTIM_IRQHandler(void);
void TIM1_IRQHandler(void);
void TIM1A_IRQHandler(void);
void TIM1B_IRQHandler(void);
void TIM2_IRQHandler(void);
void TIM2A_IRQHandler(void);
void TIM2B_IRQHandler(void);
void TIM2C_IRQHandler(void);
void PCA_IRQHandler(void);
void WWDG_IRQHandler(void);
void IWDG_IRQHandler(void);
void ADC_IRQHandler(void);
void LVD_IRQHandler(void);
void VC0_1_IRQHandler(void);
void AWK_IRQHandler(void);
void OWIRE_IRQHandler(void);
void RTC_IRQHandler(void);
void CLKTRIM_IRQHandler(void);

#if defined(CONFIG_USE_ZB32L003)
void NRST_IN_IRQHandler(void);
#endif

#ifdef __cplusplus
}
#endif

#endif /* __ZB32L03X_IT_H */


